package util.remote;

import redis.clients.jedis.Jedis;
import common.DataAnalysis;
import util.mysql.MysqlUtil;
import util.redis.RedisUtil;

import java.sql.Connection;

/**
 * 连接成功之后 会返回一个这个类的实体
 * 包含redis mysql 以及服务器配置
 * 在
 * @see DataAnalysis#execute() 中使用时不要关闭 否则其他活动会用不了 在所有任务执行完成之后会自动关闭
 *
 * Created by J.Chen on 2017/5/22.
 */
public class RemoteConnectResult {

    //这两个工具类是安全的 不会更改数据库的数据
    //连接redis用
    private RedisUtil redisUtil;
    //连接mysql用
    private MysqlUtil mysqlUtil;

    private RemoteConf remoteConf;


    //这个可以操作数据库的所有操作 慎用
    private Jedis jedis;
    private Connection connection;

    public RemoteConnectResult(Jedis jedis, Connection connection, RemoteConf remoteConf) {
        this.redisUtil = new RedisUtil(jedis);
        this.jedis = jedis;
        this.connection = connection;
        this.mysqlUtil = new MysqlUtil(connection);
        this.remoteConf = remoteConf;
    }

    public RedisUtil getRedisUtil() {
        return redisUtil;
    }


    public MysqlUtil getMysqlUtil() {
        return mysqlUtil;
    }


    public RemoteConf getRemoteConf() {
        return remoteConf;
    }


    public Jedis getJedis() {
        return jedis;
    }

    public Connection getConnection() {
        return connection;
    }


}
